package 集合;
import java.util.*;

public class X07Collections工具类
{
	public static void main (String[]args){
		List<String> list=new ArrayList<>();
		list.add("tom");
		list.add("jack");
		list.add("lily");
		list.add("lucy");
		list.add("pite");
		//排序操作，主要针对list
		//反转
		Collections.reverse(list);
		//排序,自定义类可以加个对象比较器类参数
		Collections.sort(list);
		//随机排序
		Collections.shuffle(list);
		//交换位置
		Collections.swap(list,2,4);
		//元素右移指定距离，如果距离=size 相当于不动
		Collections.rotate(list,2);
		//查找替换操作，主要针对collection接口
		//查找指定值，返回位置
		Collections.binarySearch(list,"lily");
		//返回最大 最小元素(自定义对象可带比较器参数)
		Collections.max(list);
		Collections.min(list);
		//使用指定元素填充
		Collections.fill(list,"nihao");
		//返回指定元素出现次数
		Collections.frequency(list,"lily");
		//替换全部
		Collections.replaceAll(list,"lily","nihao");
		//同步控制，多线程相关
		//设置不可变集合
		List<String> empty=Collections.emptyList();//emptyXxx返回各种空集合，不可改变
		List<String> single=(List<String>) Collections.singletonList(list);//singletonXxx返回一个指定的不可变的集合
		Collections.unmodifiableList(list);//unmodifiableXxx返回指定集合对象的不可变识图
		//其他
		Collections.disjoint(list,single);//比较两个集合是否有相同元素
		Collections.addAll(list,single,"xiaoming","lilei");//将指定集合/元素添加到第一个参数集合中
		Collections.reverseOrder();//返回一个反转的比较器对象
	}
}
